1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license (the "Software") to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */ 
28 
29 module derelict.purple.status;
30 
31 import derelict.glib.gtypes;
32 import derelict.glib.glibconfig;
33 import derelict.glib.glist;
34 import derelict.purple.value;
35 import derelict.purple.account;
36 import derelict.purple.conversation;
37 import derelict.purple.blist;
38 import core.stdc.time;
39 import std.c.stdarg;
40 
41 extern (C):
42 
43 alias _PurpleStatusType PurpleStatusType;
44 alias _PurpleStatusAttr PurpleStatusAttr;
45 alias _PurplePresence PurplePresence;
46 alias _PurpleStatus PurpleStatus;
47 alias _PurpleMood PurpleMood;
48 alias _Anonymous_0 PurplePresenceContext;
49 alias _Anonymous_1 PurpleStatusPrimitive;
50 
51 enum _Anonymous_0
52 {
53 	PURPLE_PRESENCE_CONTEXT_UNSET = 0,
54 	PURPLE_PRESENCE_CONTEXT_ACCOUNT = 1,
55 	PURPLE_PRESENCE_CONTEXT_CONV = 2,
56 	PURPLE_PRESENCE_CONTEXT_BUDDY = 3
57 }
58 
59 enum _Anonymous_1
60 {
61 	PURPLE_STATUS_UNSET = 0,
62 	PURPLE_STATUS_OFFLINE = 1,
63 	PURPLE_STATUS_AVAILABLE = 2,
64 	PURPLE_STATUS_UNAVAILABLE = 3,
65 	PURPLE_STATUS_INVISIBLE = 4,
66 	PURPLE_STATUS_AWAY = 5,
67 	PURPLE_STATUS_EXTENDED_AWAY = 6,
68 	PURPLE_STATUS_MOBILE = 7,
69 	PURPLE_STATUS_TUNE = 8,
70 	PURPLE_STATUS_MOOD = 9,
71 	PURPLE_STATUS_NUM_PRIMITIVES = 10
72 }
73 
74 struct _PurpleMood
75 {
76 	const(char)* mood;
77 	const(char)* description;
78 	gpointer* padding;
79 }
80 
81 struct _PurpleStatus;
82 
83 
84 struct _PurpleStatusAttr;
85 
86 
87 struct _PurplePresence;
88 
89 
90 struct _PurpleStatusType;
91 
92 
93 version(Derelict_Link_Static)
94 {
95     extern( C ) nothrow 
96     {
97         const(char)* purple_primitive_get_id_from_type(PurpleStatusPrimitive type);
98         const(char)* purple_primitive_get_name_from_type(PurpleStatusPrimitive type);
99         PurpleStatusPrimitive purple_primitive_get_type_from_id(const(char)* id);
100         PurpleStatusType* purple_status_type_new_full(PurpleStatusPrimitive primitive, const(char)* id, const(char)* name, gboolean saveable, gboolean user_settable, gboolean independent);
101         PurpleStatusType* purple_status_type_new(PurpleStatusPrimitive primitive, const(char)* id, const(char)* name, gboolean user_settable);
102         PurpleStatusType* purple_status_type_new_with_attrs(PurpleStatusPrimitive primitive, const(char)* id, const(char)* name, gboolean saveable, gboolean user_settable, gboolean independent, const(char)* attr_id, const(char)* attr_name, PurpleValue* attr_value, ...);
103         void purple_status_type_destroy(PurpleStatusType* status_type);
104         void purple_status_type_set_primary_attr(PurpleStatusType* status_type, const(char)* attr_id);
105         void purple_status_type_add_attr(PurpleStatusType* status_type, const(char)* id, const(char)* name, PurpleValue* value);
106         void purple_status_type_add_attrs(PurpleStatusType* status_type, const(char)* id, const(char)* name, PurpleValue* value, ...);
107         void purple_status_type_add_attrs_vargs(PurpleStatusType* status_type, va_list args);
108         PurpleStatusPrimitive purple_status_type_get_primitive(const(PurpleStatusType)* status_type);
109         const(char)* purple_status_type_get_id(const(PurpleStatusType)* status_type);
110         const(char)* purple_status_type_get_name(const(PurpleStatusType)* status_type);
111         gboolean purple_status_type_is_saveable(const(PurpleStatusType)* status_type);
112         gboolean purple_status_type_is_user_settable(const(PurpleStatusType)* status_type);
113         gboolean purple_status_type_is_independent(const(PurpleStatusType)* status_type);
114         gboolean purple_status_type_is_exclusive(const(PurpleStatusType)* status_type);
115         gboolean purple_status_type_is_available(const(PurpleStatusType)* status_type);
116         const(char)* purple_status_type_get_primary_attr(const(PurpleStatusType)* type);
117         PurpleStatusAttr* purple_status_type_get_attr(const(PurpleStatusType)* status_type, const(char)* id);
118         GList* purple_status_type_get_attrs(const(PurpleStatusType)* status_type);
119         const(PurpleStatusType)* purple_status_type_find_with_id(GList* status_types, const(char)* id);
120         PurpleStatusAttr* purple_status_attr_new(const(char)* id, const(char)* name, PurpleValue* value_type);
121         void purple_status_attr_destroy(PurpleStatusAttr* attr);
122         const(char)* purple_status_attr_get_id(const(PurpleStatusAttr)* attr);
123         const(char)* purple_status_attr_get_name(const(PurpleStatusAttr)* attr);
124         PurpleValue* purple_status_attr_get_value(const(PurpleStatusAttr)* attr);
125         PurpleStatus* purple_status_new(PurpleStatusType* status_type, PurplePresence* presence);
126         void purple_status_destroy(PurpleStatus* status);
127         void purple_status_set_active(PurpleStatus* status, gboolean active);
128         void purple_status_set_active_with_attrs(PurpleStatus* status, gboolean active, va_list args);
129         void purple_status_set_active_with_attrs_list(PurpleStatus* status, gboolean active, GList* attrs);
130         void purple_status_set_attr_boolean(PurpleStatus* status, const(char)* id, gboolean value);
131         void purple_status_set_attr_int(PurpleStatus* status, const(char)* id, int value);
132         void purple_status_set_attr_string(PurpleStatus* status, const(char)* id, const(char)* value);
133         PurpleStatusType* purple_status_get_type(const(PurpleStatus)* status);
134         PurplePresence* purple_status_get_presence(const(PurpleStatus)* status);
135         const(char)* purple_status_get_id(const(PurpleStatus)* status);
136         const(char)* purple_status_get_name(const(PurpleStatus)* status);
137         gboolean purple_status_is_independent(const(PurpleStatus)* status);
138         gboolean purple_status_is_exclusive(const(PurpleStatus)* status);
139         gboolean purple_status_is_available(const(PurpleStatus)* status);
140         gboolean purple_status_is_active(const(PurpleStatus)* status);
141         gboolean purple_status_is_online(const(PurpleStatus)* status);
142         PurpleValue* purple_status_get_attr_value(const(PurpleStatus)* status, const(char)* id);
143         gboolean purple_status_get_attr_boolean(const(PurpleStatus)* status, const(char)* id);
144         int purple_status_get_attr_int(const(PurpleStatus)* status, const(char)* id);
145         const(char)* purple_status_get_attr_string(const(PurpleStatus)* status, const(char)* id);
146         gint purple_status_compare(const(PurpleStatus)* status1, const(PurpleStatus)* status2);
147         PurplePresence* purple_presence_new(PurplePresenceContext context);
148         PurplePresence* purple_presence_new_for_account(PurpleAccount* account);
149         PurplePresence* purple_presence_new_for_conv(PurpleConversation* conv);
150         PurplePresence* purple_presence_new_for_buddy(PurpleBuddy* buddy);
151         void purple_presence_destroy(PurplePresence* presence);
152         void purple_presence_add_status(PurplePresence* presence, PurpleStatus* status);
153         void purple_presence_add_list(PurplePresence* presence, GList* source_list);
154         void purple_presence_set_status_active(PurplePresence* presence, const(char)* status_id, gboolean active);
155         void purple_presence_switch_status(PurplePresence* presence, const(char)* status_id);
156         void purple_presence_set_idle(PurplePresence* presence, gboolean idle, time_t idle_time);
157         void purple_presence_set_login_time(PurplePresence* presence, time_t login_time);
158         PurplePresenceContext purple_presence_get_context(const(PurplePresence)* presence);
159         PurpleAccount* purple_presence_get_account(const(PurplePresence)* presence);
160         PurpleConversation* purple_presence_get_conversation(const(PurplePresence)* presence);
161         const(char)* purple_presence_get_chat_user(const(PurplePresence)* presence);
162         PurpleBuddy* purple_presence_get_buddy(const(PurplePresence)* presence);
163         GList* purple_presence_get_statuses(const(PurplePresence)* presence);
164         PurpleStatus* purple_presence_get_status(const(PurplePresence)* presence, const(char)* status_id);
165         PurpleStatus* purple_presence_get_active_status(const(PurplePresence)* presence);
166         gboolean purple_presence_is_available(const(PurplePresence)* presence);
167         gboolean purple_presence_is_online(const(PurplePresence)* presence);
168         gboolean purple_presence_is_status_active(const(PurplePresence)* presence, const(char)* status_id);
169         gboolean purple_presence_is_status_primitive_active(const(PurplePresence)* presence, PurpleStatusPrimitive primitive);
170         gboolean purple_presence_is_idle(const(PurplePresence)* presence);
171         time_t purple_presence_get_idle_time(const(PurplePresence)* presence);
172         time_t purple_presence_get_login_time(const(PurplePresence)* presence);
173         gint purple_presence_compare(const(PurplePresence)* presence1, const(PurplePresence)* presence2);
174         void* purple_status_get_handle();
175         void purple_status_init();
176         void purple_status_uninit();
177     }
178 }
179 else
180 {
181     extern( C ) nothrow 
182     {
183         alias da_purple_primitive_get_id_from_type = const(char)* function(PurpleStatusPrimitive type);																																																
184         alias da_purple_primitive_get_name_from_type = const(char)* function(PurpleStatusPrimitive type);																																															
185         alias da_purple_primitive_get_type_from_id = PurpleStatusPrimitive function(const(char)* id);																																																
186         alias da_purple_status_type_new_full = PurpleStatusType* function(PurpleStatusPrimitive primitive, const(char)* id, const(char)* name, gboolean saveable, gboolean user_settable, gboolean independent);																					
187         alias da_purple_status_type_new = PurpleStatusType* function(PurpleStatusPrimitive primitive, const(char)* id, const(char)* name, gboolean user_settable);																																	
188         alias da_purple_status_type_new_with_attrs = PurpleStatusType* function(PurpleStatusPrimitive primitive, const(char)* id, const(char)* name, gboolean saveable, gboolean user_settable, gboolean independent, const(char)* attr_id, const(char)* attr_name, PurpleValue* attr_value, ...);	
189         alias da_purple_status_type_destroy = void function(PurpleStatusType* status_type);																																																			
190         alias da_purple_status_type_set_primary_attr = void function(PurpleStatusType* status_type, const(char)* attr_id);																																											
191         alias da_purple_status_type_add_attr = void function(PurpleStatusType* status_type, const(char)* id, const(char)* name, PurpleValue* value);																																				
192         alias da_purple_status_type_add_attrs = void function(PurpleStatusType* status_type, const(char)* id, const(char)* name, PurpleValue* value, ...);																																			
193         alias da_purple_status_type_add_attrs_vargs = void function(PurpleStatusType* status_type, va_list args);																																													
194         alias da_purple_status_type_get_primitive = PurpleStatusPrimitive function(const(PurpleStatusType)* status_type);																																											
195         alias da_purple_status_type_get_id = const(char)* function(const(PurpleStatusType)* status_type);																																															
196         alias da_purple_status_type_get_name = const(char)* function(const(PurpleStatusType)* status_type);																																															
197         alias da_purple_status_type_is_saveable = gboolean function(const(PurpleStatusType)* status_type);																																															
198         alias da_purple_status_type_is_user_settable = gboolean function(const(PurpleStatusType)* status_type);																																														
199         alias da_purple_status_type_is_independent = gboolean function(const(PurpleStatusType)* status_type);																																														
200         alias da_purple_status_type_is_exclusive = gboolean function(const(PurpleStatusType)* status_type);																																															
201         alias da_purple_status_type_is_available = gboolean function(const(PurpleStatusType)* status_type);																																															
202         alias da_purple_status_type_get_primary_attr = const(char)* function(const(PurpleStatusType)* type);																																														
203         alias da_purple_status_type_get_attr = PurpleStatusAttr* function(const(PurpleStatusType)* status_type, const(char)* id);																																									
204         alias da_purple_status_type_get_attrs = GList* function(const(PurpleStatusType)* status_type);																																																
205         alias da_purple_status_type_find_with_id = const(PurpleStatusType)* function(GList* status_types, const(char)* id);																																											
206         alias da_purple_status_attr_new = PurpleStatusAttr* function(const(char)* id, const(char)* name, PurpleValue* value_type);																																									
207         alias da_purple_status_attr_destroy = void function(PurpleStatusAttr* attr);																																																				
208         alias da_purple_status_attr_get_id = const(char)* function(const(PurpleStatusAttr)* attr);																																																	
209         alias da_purple_status_attr_get_name = const(char)* function(const(PurpleStatusAttr)* attr);																																																
210         alias da_purple_status_attr_get_value = PurpleValue* function(const(PurpleStatusAttr)* attr);																																																
211         alias da_purple_status_new = PurpleStatus* function(PurpleStatusType* status_type, PurplePresence* presence);																																												
212         alias da_purple_status_destroy = void function(PurpleStatus* status);																																																						
213         alias da_purple_status_set_active = void function(PurpleStatus* status, gboolean active);																																																	
214         alias da_purple_status_set_active_with_attrs = void function(PurpleStatus* status, gboolean active, va_list args);																																											
215         alias da_purple_status_set_active_with_attrs_list = void function(PurpleStatus* status, gboolean active, GList* attrs);																																										
216         alias da_purple_status_set_attr_boolean = void function(PurpleStatus* status, const(char)* id, gboolean value);																																												
217         alias da_purple_status_set_attr_int = void function(PurpleStatus* status, const(char)* id, int value);																																														
218         alias da_purple_status_set_attr_string = void function(PurpleStatus* status, const(char)* id, const(char)* value);																																											
219         alias da_purple_status_get_type = PurpleStatusType* function(const(PurpleStatus)* status);																																																	
220         alias da_purple_status_get_presence = PurplePresence* function(const(PurpleStatus)* status);																																																
221         alias da_purple_status_get_id = const(char)* function(const(PurpleStatus)* status);																																																			
222         alias da_purple_status_get_name = const(char)* function(const(PurpleStatus)* status);																																																		
223         alias da_purple_status_is_independent = gboolean function(const(PurpleStatus)* status);																																																		
224         alias da_purple_status_is_exclusive = gboolean function(const(PurpleStatus)* status);																																																		
225         alias da_purple_status_is_available = gboolean function(const(PurpleStatus)* status);																																																		
226         alias da_purple_status_is_active = gboolean function(const(PurpleStatus)* status);																																																			
227         alias da_purple_status_is_online = gboolean function(const(PurpleStatus)* status);																																																			
228         alias da_purple_status_get_attr_value = PurpleValue* function(const(PurpleStatus)* status, const(char)* id);																																												
229         alias da_purple_status_get_attr_boolean = gboolean function(const(PurpleStatus)* status, const(char)* id);																																													
230         alias da_purple_status_get_attr_int = int function(const(PurpleStatus)* status, const(char)* id);																																															
231         alias da_purple_status_get_attr_string = const(char)* function(const(PurpleStatus)* status, const(char)* id);																																												
232         alias da_purple_status_compare = gint function(const(PurpleStatus)* status1, const(PurpleStatus)* status2);																																													
233         alias da_purple_presence_new = PurplePresence* function(PurplePresenceContext context);																																																		
234         alias da_purple_presence_new_for_account = PurplePresence* function(PurpleAccount* account);																																																
235         alias da_purple_presence_new_for_conv = PurplePresence* function(PurpleConversation* conv);																																																	
236         alias da_purple_presence_new_for_buddy = PurplePresence* function(PurpleBuddy* buddy);																																																		
237         alias da_purple_presence_destroy = void function(PurplePresence* presence);																																																					
238         alias da_purple_presence_add_status = void function(PurplePresence* presence, PurpleStatus* status);																																														
239         alias da_purple_presence_add_list = void function(PurplePresence* presence, GList* source_list);																																															
240         alias da_purple_presence_set_status_active = void function(PurplePresence* presence, const(char)* status_id, gboolean active);																																								
241         alias da_purple_presence_switch_status = void function(PurplePresence* presence, const(char)* status_id);																																													
242         alias da_purple_presence_set_idle = void function(PurplePresence* presence, gboolean idle, time_t idle_time);																																												
243         alias da_purple_presence_set_login_time = void function(PurplePresence* presence, time_t login_time);																																														
244         alias da_purple_presence_get_context = PurplePresenceContext function(const(PurplePresence)* presence);																																														
245         alias da_purple_presence_get_account = PurpleAccount* function(const(PurplePresence)* presence);																																															
246         alias da_purple_presence_get_conversation = PurpleConversation* function(const(PurplePresence)* presence);																																													
247         alias da_purple_presence_get_chat_user = const(char)* function(const(PurplePresence)* presence);																																															
248         alias da_purple_presence_get_buddy = PurpleBuddy* function(const(PurplePresence)* presence);																																																
249         alias da_purple_presence_get_statuses = GList* function(const(PurplePresence)* presence);																																																	
250         alias da_purple_presence_get_status = PurpleStatus* function(const(PurplePresence)* presence, const(char)* status_id);																																										
251         alias da_purple_presence_get_active_status = PurpleStatus* function(const(PurplePresence)* presence);																																														
252         alias da_purple_presence_is_available = gboolean function(const(PurplePresence)* presence);																																																	
253         alias da_purple_presence_is_online = gboolean function(const(PurplePresence)* presence);																																																	
254         alias da_purple_presence_is_status_active = gboolean function(const(PurplePresence)* presence, const(char)* status_id);																																										
255         alias da_purple_presence_is_status_primitive_active = gboolean function(const(PurplePresence)* presence, PurpleStatusPrimitive primitive);																												                                	
256         alias da_purple_presence_is_idle = gboolean function(const(PurplePresence)* presence);																																									                                	
257         alias da_purple_presence_get_idle_time = time_t function(const(PurplePresence)* presence);																																								                                	
258         alias da_purple_presence_get_login_time = time_t function(const(PurplePresence)* presence);																																								                                	
259         alias da_purple_presence_compare = gint function(const(PurplePresence)* presence1, const(PurplePresence)* presence2);																																	                                	
260         alias da_purple_status_get_handle = void* function();																																																	                                	
261         alias da_purple_status_init = void function();																																																			                                	
262         alias da_purple_status_uninit = void function();
263     }
264 
265     __gshared
266     {
267 	    da_purple_primitive_get_id_from_type purple_primitive_get_id_from_type;
268 	    da_purple_primitive_get_name_from_type purple_primitive_get_name_from_type;
269 	    da_purple_primitive_get_type_from_id purple_primitive_get_type_from_id;
270 	    da_purple_status_type_new_full purple_status_type_new_full;
271 	    da_purple_status_type_new purple_status_type_new;
272 	    da_purple_status_type_new_with_attrs purple_status_type_new_with_attrs;
273 	    da_purple_status_type_destroy purple_status_type_destroy;
274 	    da_purple_status_type_set_primary_attr purple_status_type_set_primary_attr;
275 	    da_purple_status_type_add_attr purple_status_type_add_attr;
276 	    da_purple_status_type_add_attrs purple_status_type_add_attrs;
277 	    da_purple_status_type_add_attrs_vargs purple_status_type_add_attrs_vargs;
278 	    da_purple_status_type_get_primitive purple_status_type_get_primitive;
279 	    da_purple_status_type_get_id purple_status_type_get_id;
280 	    da_purple_status_type_get_name purple_status_type_get_name;
281 	    da_purple_status_type_is_saveable purple_status_type_is_saveable;
282 	    da_purple_status_type_is_user_settable purple_status_type_is_user_settable;
283 	    da_purple_status_type_is_independent purple_status_type_is_independent;
284 	    da_purple_status_type_is_exclusive purple_status_type_is_exclusive;
285 	    da_purple_status_type_is_available purple_status_type_is_available;
286 	    da_purple_status_type_get_primary_attr purple_status_type_get_primary_attr;
287 	    da_purple_status_type_get_attr purple_status_type_get_attr;
288 	    da_purple_status_type_get_attrs purple_status_type_get_attrs;
289 	    da_purple_status_type_find_with_id purple_status_type_find_with_id;
290 	    da_purple_status_attr_new purple_status_attr_new;
291 	    da_purple_status_attr_destroy purple_status_attr_destroy;
292 	    da_purple_status_attr_get_id purple_status_attr_get_id;
293 	    da_purple_status_attr_get_name purple_status_attr_get_name;
294 	    da_purple_status_attr_get_value purple_status_attr_get_value;
295 	    da_purple_status_new purple_status_new;
296 	    da_purple_status_destroy purple_status_destroy;
297 	    da_purple_status_set_active purple_status_set_active;
298 	    da_purple_status_set_active_with_attrs purple_status_set_active_with_attrs;
299 	    da_purple_status_set_active_with_attrs_list purple_status_set_active_with_attrs_list;
300 	    da_purple_status_set_attr_boolean purple_status_set_attr_boolean;
301 	    da_purple_status_set_attr_int purple_status_set_attr_int;
302 	    da_purple_status_set_attr_string purple_status_set_attr_string;
303 	    da_purple_status_get_type purple_status_get_type;
304 	    da_purple_status_get_presence purple_status_get_presence;
305 	    da_purple_status_get_id purple_status_get_id;
306 	    da_purple_status_get_name purple_status_get_name;
307 	    da_purple_status_is_independent purple_status_is_independent;
308 	    da_purple_status_is_exclusive purple_status_is_exclusive;
309 	    da_purple_status_is_available purple_status_is_available;
310 	    da_purple_status_is_active purple_status_is_active;
311 	    da_purple_status_is_online purple_status_is_online;
312 	    da_purple_status_get_attr_value purple_status_get_attr_value;
313 	    da_purple_status_get_attr_boolean purple_status_get_attr_boolean;
314 	    da_purple_status_get_attr_int purple_status_get_attr_int;
315 	    da_purple_status_get_attr_string purple_status_get_attr_string;
316 	    da_purple_status_compare purple_status_compare;
317 	    da_purple_presence_new purple_presence_new;
318 	    da_purple_presence_new_for_account purple_presence_new_for_account;
319 	    da_purple_presence_new_for_conv purple_presence_new_for_conv;
320 	    da_purple_presence_new_for_buddy purple_presence_new_for_buddy;
321 	    da_purple_presence_destroy purple_presence_destroy;
322 	    da_purple_presence_add_status purple_presence_add_status;
323 	    da_purple_presence_add_list purple_presence_add_list;
324 	    da_purple_presence_set_status_active purple_presence_set_status_active;
325 	    da_purple_presence_switch_status purple_presence_switch_status;
326 	    da_purple_presence_set_idle purple_presence_set_idle;
327 	    da_purple_presence_set_login_time purple_presence_set_login_time;
328 	    da_purple_presence_get_context purple_presence_get_context;
329 	    da_purple_presence_get_account purple_presence_get_account;
330 	    da_purple_presence_get_conversation purple_presence_get_conversation;
331 	    da_purple_presence_get_chat_user purple_presence_get_chat_user;
332 	    da_purple_presence_get_buddy purple_presence_get_buddy;
333 	    da_purple_presence_get_statuses purple_presence_get_statuses;
334 	    da_purple_presence_get_status purple_presence_get_status;
335 	    da_purple_presence_get_active_status purple_presence_get_active_status;
336 	    da_purple_presence_is_available purple_presence_is_available;
337 	    da_purple_presence_is_online purple_presence_is_online;
338 	    da_purple_presence_is_status_active purple_presence_is_status_active;
339 	    da_purple_presence_is_status_primitive_active purple_presence_is_status_primitive_active;
340 	    da_purple_presence_is_idle purple_presence_is_idle;
341 	    da_purple_presence_get_idle_time purple_presence_get_idle_time;
342 	    da_purple_presence_get_login_time purple_presence_get_login_time;
343 	    da_purple_presence_compare purple_presence_compare;
344 	    da_purple_status_get_handle purple_status_get_handle;
345 	    da_purple_status_init purple_status_init;
346 	    da_purple_status_uninit purple_status_uninit;
347     }
348 }